/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.figmania.controlador;

import br.figmania.modelo.Album;
import br.figmania.modelo.Usuario;
import br.figmania.repositorio.Dao;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Henrique
 */
public class AlbumControlador {
    
   private Dao repositorio = new Dao();
   
   
   public List<Album> listarAlbuns (){
   
       
       List <Album> albuns = (List<Album>) repositorio.listarObjeto("FROM Album");
       return albuns;
       
       
   }
   
   public void adquirirAlbum (HttpServletRequest request, String id_album){
       
       HttpSession secao = request.getSession();
       Usuario usuario = (Usuario) secao.getAttribute("usuario");
       List <Usuario> use = (List<Usuario>) repositorio.listarObjeto("FROM Usuario WHERE id = '"+ usuario.getId()+"'");
       List <Album> album = (List <Album>) use.get(0).getAlbum();
       int indicador = 0;
              
      if (use.get(0).getAlbum().isEmpty()){
        
          album = (List<Album>) repositorio.listarObjeto("FROM Album WHERE  id_album = '"+id_album+"' ");
          usuario.setAlbum(album);
          boolean status = repositorio.atualizarObjeto(usuario);
          secao.setAttribute("mensagem", "Album adquirido com sucesso");
       
      } else {
          
          for (int index = 0; index < album.size(); index ++){
          
              if (album.get(index).getId_album()== Integer.parseInt(id_album)){
                 
                indicador ++;  
                secao.setAttribute("mensagem", "Você já adquiriu esse album");  
                  
              }
          
          }
          
          if (indicador <= 0){
          
          album = (List<Album>) repositorio.listarObjeto("FROM Album WHERE  id_album = '"+id_album+"' ");
          usuario.setAlbum(album);
          boolean status = repositorio.atualizarObjeto(usuario);
          secao.setAttribute("mensagem", "Album adquirido com sucesso");  
              
              
          }
                   
      }
       
       
   }
   
    
}
